package com.sz.mes.entity;

import java.util.Date;
import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.Length;
import com.baomidou.mybatisplus.annotation.*;
import com.sz.mes.entity.BaseCustomEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
* 生产计划 Entity定义
* @author hem
* @version 1.0
* @date 2023-05-25
* Copyright © szhs
*/
@Getter @Setter @Accessors(chain = true)
@TableName("product_plan")
public class ProductPlan extends BaseCustomEntity {
    private static final long serialVersionUID = 7033925347912896120L;

    /**
    * 父级id 
    */
    @NotNull(message = "父级id不能为空")
    @TableField()
    private Long parentId;

    /**
    * 创建人 
    */
    @TableField(fill = FieldFill.INSERT)
    private Long createBy;

    /**
    * 更新人 
    */
    @TableField(fill = FieldFill.UPDATE)
    private Long updateBy;

    /**
    * 更新时间 
    */
    @TableField(fill = FieldFill.UPDATE)
    private Date updateTime;

    /**
    * 计划单号 
    */
    @NotNull(message = "计划单号不能为空")
    @Length(max=100, message="计划单号长度应小于100")
    @TableField()
    private String planNum;

    /**
    * 计划数量 
    */
    @TableField()
    private Long planQuantity;

    /**
    * 开始时间 
    */
    @TableField()
    private Date planStartTime;

    /**
    * 结束时间 
    */
    @TableField()
    private Date planEndTime;

    /**
    * 备注 
    */
    @Length(max=100, message="备注长度应小于100")
    @TableField()
    private String remark;

    /**
    * 最终入库时间 
    */
    @TableField()
    private Date finalWarehouseEnrtyTime;

    /**
    * 状态.1,已完成 0,未完成 
    */
    @TableField()
    private Integer status;

    /**
    * 商品 
    */
    @NotNull(message = "商品不能为空")
    @TableField()
    private Long goodsId;

    /**
    * excel类型的生产计划 
    */
    @Length(max=100, message="excel类型的生产计划长度应小于100")
    @TableField()
    private String excelData;


} 
